package com.hr.rbac.service;

import java.util.List;

import com.hr.rbac.domain.Role;
import com.hr.utils.PageBean;

public interface RoleService {
	/**
	 * 通过用户编号查找该用户属于的角色
	 * @param userID
	 * @return
	 */
	public Role findRoleByUserID(String userID);
	
	/**
	 * 实现角色的分页查询
	 * @param PageCurrent
	 * @param PageSize
	 * @return
	 */
	public PageBean<Role> queryAll_Page(int PageCurrent, int PageSize);
	
	/**
	 * 保存角色
	 * @param string
	 * @param string2
	 */
	public void saveRole(String privilege_id, String function_id, String role_id);
	
	/**
	 * 建立角色和权限之间的关系
	 * @param privilege_Id
	 * @param role_ID
	 */
	public void saveRole_Privilege(String privilege_Id, String role_ID);
	
	/**
	 * 保存角色
	 * @param role
	 */
	public void save(Role role);
	
	/**
	 * 查询所有角色
	 * @return
	 */
	public List<Role> queryAllRole();
	
	/**
	 * 建立用户和角色之间的关系
	 * @param user_id
	 * @param role_id
	 */
	public void saveRoleAndUser(String user_id, String role_id);
	
	/**
	 * 修改用户所拥有的角色信息
	 * @param user_id
	 * @param role_id
	 */
	public void updateRoleAndUser(String user_id, String role_id);
	
	/**
	 * 通过角色编号查询角色信息
	 * @param role_ID
	 * @return
	 */
	public Role findRoleByRoleID(String role_ID);

	/**
	 * 通过橘色编号删除角色信息
	 * @param role_id
	 */
	public void deleteRoleByRoleID(String role_id);
	
	/**
	 * 通过角色编号修改当前角色下的相关信息
	 * @param role_id
	 */
	public void updateRoleByRoleID(String role_id);
}
